#pragma once

struct int3i final
{
	static const size_t arity = 3;

	int& operator[](const size_t index){ return *(&x + index); }
	int operator[](const size_t index) const { return *(&x + index); }

	int x;
	int y;
	int z;
};

inline const int3i int3ic(const int x, const int y, const int z)
{
	int3i int3 = { x, y, z };
	return int3;
}